빌드·배포·인프라 용어

CI/CD, 컨테이너, 쿠버네티스, 설정 파일 등 배포·운영 환경 용어

  • 용어 22개

CI (Continuous Integration, 지속적 통합)

코드 변경을 자주 공유 저장소에 합치고, 합칠 때마다 자동으로 빌드와 테스트를 돌려 문제를 일찍 찾는 방식.

CD (Continuous Delivery / Continuous Deployment)

CI 이후 단계를 자동화하는 방식. 두 가지 뜻이 있다.

  • Continuous Delivery(지속적 제공): 언제든 배포할 수 있는 상태를 자동으로 만들어 두고, 운영 배포는 사람이 승인한다.
  • Continuous Deployment(지속적 배포): 테스트를 통과하면 운영 배포까지 자동으로 진행한다.
  • “CD”만 적혀 있으면 문맥이나 팀 약속을 확인해야 한다.
  • 학습 노트: Git Action (CD) · sk m&s (배포-CICD 정리)

pipeline (파이프라인)

빌드 → 테스트 → 배포 같은 단계를 순서대로 자동 실행하는 흐름.

build / artifact (빌드 / 산출물)

소스를 실행 가능한 형태로 만드는 과정 / 그 결과물(바이너리, jar, 이미지 등).

deploy / release (배포)

만든 결과물을 실제 환경(서버)에 올려 사용 가능하게 하는 것.

VM (Virtual Machine)

하이퍼바이저로 물리 서버 위에 만든 가상 컴퓨터.

vm image

VM을 만들 때 쓰는 디스크 템플릿(스냅샷).

  • OS와 설치된 소프트웨어가 통째로 들어 있다. 형식 예) qcow2, VMDK, AWS의 AMI.
  • docker image는 커널을 포함하지 않는 앱 단위 패키지라는 점이 다르다.
  • 학습 노트: Ubuntu & redHat (OpenStack)

container (컨테이너)

앱과 필요한 라이브러리를 격리해서 실행하는 환경. 호스트 OS의 커널을 공유한다.

docker image (컨테이너 이미지)

컨테이너를 만들기 위한 읽기 전용 템플릿. 앱, 의존성, 설정이 레이어로 묶여 있다.

container registry (이미지 저장소)

컨테이너 이미지를 올려 두고 내려받는 저장소.

Kubernetes (k8s)

여러 서버에 걸쳐 컨테이너를 배포하고, 늘리고 줄이고, 장애 시 복구하는 것을 자동으로 관리하는 오케스트레이션 도구.

pod (파드)

쿠버네티스에서 배포와 스케줄링의 최소 단위. 하나 이상의 컨테이너를 묶은 것.

node (노드)

클러스터나 네트워크를 이루는 개별 머신(물리 서버 또는 VM) 한 대.

cluster (클러스터)

여러 node를 묶어 하나의 시스템처럼 운영하는 단위.

yaml

들여쓰기로 구조를 표현하는, 사람이 읽기 쉬운 설정·데이터 파일 형식(.yaml, .yml).

JSON

{ “키”: 값 } 형태의 텍스트 데이터 교환 형식.

IaC (Infrastructure as Code)

서버, 네트워크 같은 인프라를 코드(파일)로 정의해 버전 관리하고 자동으로 만드는 방식.

provisioning (프로비저닝)

필요한 것을 사전에 설정하거나 할당해 두는 것.

  • 인프라: 서버, 저장소 같은 자원을 미리 확보하고 설정하는 것.
  • 통신 장비: 운영자가 허용 목록, 가입자, 정책 같은 값을 미리 등록해 두는 것. 이렇게 미리 넣어 둔 값을 provisioning 값이라고도 부른다.
  • 핵심은 “실행 중에 들어오는 값”이 아니라 “미리 넣어 둔 기준 값”이라는 점이다.
  • 학습 노트: Ansible 정리 (실무·면접 교정본)

scale up / scale down (수직 확장 / 축소)

한 대의 서버 사양(CPU, 메모리 등)을 올리거나(up) 낮추는(down) 것.

scale out / scale in (수평 확장 / 축소)

서버(인스턴스) 대수를 늘려서(out) 부하를 나누거나, 늘렸던 대수를 다시 줄이는(in) 것.

HA / failover (고가용성 / 장애 전환)

장애가 나도 서비스가 계속되도록 이중화하는 것 / 장애 시 대기 장비로 자동 전환하는 것.

load balancer (로드 밸런서)

들어온 요청을 여러 서버에 고르게 나누어 보내는 장치나 소프트웨어.

  • 분산 방식과 L4/L7 구분은 네트워크·통신 노트의 load balancing 항목 참고.
  • 학습 노트: 로드밸런스